﻿// CreateOrEditSpaceTypeDialog.xaml.cs
using Autodesk.Revit.DB;
using Autodesk.Revit.UI; // 需要访问 UIApplication, Document
using RevitProject.SpaceManager.ViewModel.DialogViewModelPart;
using System.Windows;

namespace RevitProject.SpaceManager.Views
{
    public partial class CreateOrEditSpaceTypeDialog : Window
    {
        // 持有对 ViewModel 的引用，方便访问验证和结果获取方法
        private CreateOrEditSpaceTypeViewModel ViewModel => DataContext as CreateOrEditSpaceTypeViewModel;

        //    需要传递 Document 用于验证   
        private readonly Document _doc;

        public CreateOrEditSpaceTypeDialog(Document doc) // 构造函数接收 Document
        {
            InitializeComponent();
            _doc = doc; // 保存 Document 引用
        }

        // 确定按钮点击事件
        private void OkButton_Click(object sender, RoutedEventArgs e)
        {
            if (ViewModel != null)
            {
                // 调用 ViewModel 的验证方法
                if (ViewModel.ValidateInput(_doc)) // 传递 Document
                {
                    // 验证通过，设置 DialogResult 并关闭
                    this.DialogResult = true;
                    this.Close();
                }
                // else: 验证失败，ViewModel 内部应已显示错误消息，保持窗口打开
            }
        }

        // 取消按钮点击事件 (保持不变)
        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false;
            this.Close();
        }
    }
}